
                                        -.
                                  ..-=*#+
                               : .+-#%@@#.
                           .:-==.=%-@@@@#.
                         =*=%@@#.+%-@@@%.
                         :%*#@@#.+%-@@@%.
                          %**@@#+%=%@@@*
     .                    %**@@%*#-@@@@:
   :#*+#=**+-    +#+-     =%*%@@**-@@@@:   .==-:      -++:::+*=:..=*+-.  .=*-+=+*+=.
   :*#@@%*@@@*- *%*%@#=.  :%*#@@**:@@@=  .=#+*%@%*:  .+++@@+-=*@%==+@@%. .-=%@@+#@@%+.
   .%*%@%+-*@+.=%****@%=. :%*#@%+*:%@%-  :==.-++*@@-  -#:%@#=*.@@*++=@@.  +#-@@#-*%@@%:
   .@*%@%:  . =%*#*%#*@*. .+#*%%++.%%%:    ..=++==@=  -%:#%+:*.%%- +-%%.  +%-@@=.@*#@@#:
   .@*%@%:    =%+#-:*+-    -%=%%=+.%%=    -#**##-=@=  -%:#%+ +.%%- +-%%.  +%-@@+.=%*@@#:
   .@*#@%-    =%+%#+=.     -%=##=+.%%=   -#*+%+++-@=  -%:##+ +.%%- +-%%.  +%-@@+ :@*%@#:
   .@*#@%-    =%+%%=.       =%-#*:##+   :#++%+:**:%-  -%:+#= +.##- +-##.  +@=@@+ :@*%@#:
   .@*#@#-     +%+%%=.      =%:**###=   :%-*%*.+*:%-  -%:+*- +.**: +:*#.  +@=@@+.###%%=.
   .@*#%#-     .##*%%*=-.   -#-=****-   :#-*##===-#-  -%:+*- +.**: +-##-. +@=@@+*##%#=.
   .@**##-      .+#*#%%#-    +*.***+     =#-***+-**+- -%:+*= +.**: *=*#*=:+@=%%##%#=.
   %#*****:       .*#*+.     +*.***+      :*+---*=--. :#---=:+.--+..-==++.+@=%%*:.
                    :-:      =*:+**:        ::. :::.   .::   ::.      ::  +@=##+
                              *+-**                                       +@=##+    v 1.1
                              *+-*+                                       *%=##+.
                              -*-=.                                      -#+++++=
                              .#--.		
                               :*-		
                               .=:								
						


This document has been revised as of October 17th, 2007.
And purged of its pseudo-humorous banter.

===================================
 T A B L E   O F   C O N T E N T S
===================================

0. Introduction
1. Requirements
2. Quick Reference

3. Overview
4. Background Editing
5. Power-up and Enemy Editing in Horizontal Sections
6. Power-Up and Enemy Editing in Vertical Sections
7. Miscellaneous Editing

8. TSA Editing
9. Palette Editing
A. Pattern Tables
B. Patterns/Palettes Switching
C. Curse Severity
D. Debug Screen
E. Possible Improvements



=================
 0. Introduction
=================

If you are new to reVamp and are reading this in Notepad, we strongly suggest you launch the program so that you can explore it while reading. While the program runs, you can also open this document from the menu.


0.1 Disclaimer
--------------

This program is freeware. It also means that I cannot be held responsible for any problems you may encounter as a result of using this program. Use at your own risk.


0.2 Version History
-------------------

-1.1  10/17/2007
   Small cosmetic bugs have been fixed. Readme has been partly rewritten. New definitive version.

-1.0b 06/02/2005
   Fixed an important bug that toggled the debug screen in Japanese version.

-1.0a 10/31/2003
   Fixed a critical bug affecting special objects placement in vertical sections.

-1.0  10/04/2003
   Release!


0.3 Conventional Definitions
----------------------------

- tile: An area of 8x8 pixels.
- tileset: An 8x8 arrangement of tiles. Also called TSA.
- stage: Any level in the game (e.g. Clock Tower of Untimely Death).
- section: A portion of stage, as numbered by reVamp. (The first stage contains 8 sections.)
- block: A portion of stage consisting of one or more rooms, separated by doors or one-way stairs.
- room: A section, but considered as part of a block. If the nuance is not clear, forget about this for the moment.
- screen: An area of 48 (8x6) tiles for horizontal sections, 64 (8x8) tiles for vertical sections.


0.4 First Use
-------------

On first launch, the program will prompt you for information. You must specify what file you want to work with, and its path. This information will be recorded for future sessions in an INI file.

You *may* also provide a backup ROM, which will be used to restore data quickly if you screw up in TSA editing, palette editing and a couple other edits. You *may* also indicate the location of your best emulator (used to launch emulation during hacking).

Once you press OK, the File Settings window will never, ever reappear again on its own. Although it can be summoned from the menu.


Have fun! And feel free to send me your hacks. Comments, suggestions and (detailed) bug reports are also welcome (at daniel.lauzon@hotmail.com). If you have any questions, please take 15 minutes to read through this before mailing me.



=================
 1. Requirements
=================

- Windows 95 or higher
- A decent processor (recommended)
- reVamp.exe
- A standard palette file named reVamp.pal in the EXE directory (included)
- Visual Basic 6 Runtime Libraries (downloadable)
- A ROM image of the game Castlevania III (U) or Akumajou Densetsu (J) (not included)
- An emulator for NES games (optional)
- A backup copy of your ROM image (optional)
- Patience

This utility was written in Visual Basic 6. If you don't have the VB6 Runtime Libraries installed, try a Google search for VBRUN60.EXE, or download the file from the Microsoft site (for maximum safety), and execute it. The executable will copy the necessary files in your system directory. To find out whether you have the VB Runtime installed, try running reVamp. If you get a missing DLL dialog box, you need to install the VB Runtime.

reVamp looks and works best with Windows Standard Fonts (normal font size is 96 dpi), that is a screen of 15 twips per pixel. Screen resolution 800 x 600 or above.

reVamp has been tested on a first generation Pentium 200 MHz. It runs slow. However, it should run smoothly on a Pentium III and higher.

The program will report all errors, even minor. If you encounter one, try repeating the operation that generated the error; if that does not work, try to reload, but save at your own risk. If your ROM is corrupted or badly hacked (from a hex editor), the utility will probably encounter errors. It reads most data from pointers, but looks for those at a certain address.

Recommended emulators for Castlevania III/Akumajou Densetsu (as of 2003) are: FCEUltra or FCEUd, and NNNesterJ. There are some minor issues. In FCEUd, some palette colors are wrong when the ROM is loaded with the Pattern Tables window open (why, I don't know). NNNesterJ is slightly inacurrate (unstable in the Japanese version) in vertical sections. For slower computers, Loopy's LoopyNES can run CV3 (US) with great accuracy, but it doesn't support Akumajou Densetsu.

reVamp does NOT support the European version of Castlevania III. It will however load the file, and give you the error messages you deserve for defying Readme's good advice.


====================
 2. Quick reference
====================

For more details, see further in this document.

==BG Mode==
	-Game screen-
	   L-click: replace tileset with current selection
	   R-click: replace current selection with tileset under mouse pointer
	-Sidebar tilesets-
	   L-click: make a new selection
	   R-click: edit tileset

==PU/E Mode HORIZONTAL==
	-Game screen icons-
	   L-click: add/delete a power-up/enemy
	   R-click: edit a power-up/enemy byte value
	-Sidebar icons or enemy list-
	   L-click: make a new selection
	   R-click: edit power-up/enemy byte values

==PU/E Mode VERTICAL==
	-Game screen icons-
	   Click: select a power-up/enemy to edit
	   Drag and drop: change power-up/enemy location
	-Sidebar icons or enemy list-
	   Click: choose power-up or enemy type for current selection

==MISC Mode==
	-Game screen-
	   L-drag and drop: change location of an object (disabled for some objects)
	   L-click: select object
	   R-click: change orientation (for stairs only)
	-Sidebar-
 	   Content scrollbar: select the content of a breakable block
	   Location scrollbar: select a predefined set of Screen, Left and Top values for an object
	   Velocity scrollbar: choose the speed or momentum of certain objects
	   Initial Swing scrollbar: choose the direction in which an object first moves
	   Trigger scrollbar: in terms of scrolling, defines the moment a platform starts moving
	   Range scrollbar: specify the range of crushers and moving spikes

==Tileset editing==
	-Pattern table-
	   L-click: insert tile
	   R-click: edit tile
	-Tileset (2x zoom)-
 	   Click: selects tile to be modified
	-Attribute quadrants-
	   L-click: next palette
	   R-click: previous palette

==The rest==
	...is pretty intuitive.


=============
 3. Overview
=============

Here follows a thorough description of reVamp's GUI.


3.1 Game screen
---------------

Most "hacking" tasks can be accomplished from reVamp's main window by clicking on the game screen and/or dragging objects over it. To navigate through the game screens, simply click on the scrollbars at the right and bottom of the display.


3.2 Sidebar
-----------

In the top right-hand corner of the window are a few text boxes displaying accurate but (to most people) useless information. Below that, you will find a dropdown list containing all the stages in the game, and a second smaller list consisting of numbers. These numbers represent the different sections of each stage. Selecting items from this list will take you to the desired stage/section. The scrollbar below also navigates through the sections.

Still below this are three very important buttons identified as 'bg', 'pu/e' and 'misc'. These are the three modes you can work with. 'bg' stands for background, and this is where the background graphics can be edited. 'pu/e' stands for power-ups and enemies, while the 'misc' mode is concerned with the placement of various of in-game objects, such as stairs, starting points, normal doors, trap doors, pendulums, etc. As you switch modes, the content and purpose of the sidebar, below, changes.


3.3 Bottom buttons
------------------

Below the game screen are buttons. Here are, from left to right, the buttons and their function:

- Pattern Tables window: choose which graphics are loaded into memory for each section
- Palette Editing window: edit background graphics palettes
- Curse Severity window: decide how much damage is incured by each character
- BGM Tracks window: select a tune for every stage and event
- Game Options window: few options at this point (namely, hearts and lives you start with)

- Revert: undo all changes made since the last save in the *current section* of the game
- Save: save the *current section*
- Save All: save all stages and sections

NOTE: Changes made in all three modes (bg, power-ups, misc) are saved/undone when you click SAVE or REVERT.

- Emulation: launch emulation, provided you have specified an emulator


3.4 Time allowed
----------------

The 'Time' dropdown list changes the time allowed to complete the current level, starting from the *current block*. Every time that value is changed, the ROM is being written (the Revert, Save and Save All buttons are irrelevant here). Note that there is a time value for each block, not for each room. I define a block as an area comprising one or more rooms: you start at the beginning of a block when you lose a life, and pass on to the next block when you go through a door or up a staircase where you can't go back. Thus, for stage 0-Warakiya, there are 4 blocks: room 0; rooms 1-2-3-4; rooms 5-6; room 7. Changing the time value for room 3 will change that of room 1 also. Time can be any value rounded off to the hundreds within the range of 100-900.


3.5 Menu
--------

=File=
  -Settings: working copy, backup and emulator file settings
  -Save, Save All, Revert: see section 3.3
  -Quit: quit

=Edit=
  -Background, Power-Ups and Enemies, Miscellaneous: switch between editing modes
  -Pattern Tables, Palettes, Curse Severity, BGM Tracks, Game Options: see section 3.3

=Display=
  -Gridlines: displays gridlines on the game screen, marking each tileset
  -H-Scroll Mask: masks the top half of the first row of tilesets in horizontal sections, which is hidden by the status bar in the game itself.
  -V-Scroll Mask: enabled by default, this grays out strips of tiles which, in vertical-scrolling sections, do not appear in the game. They simply don't exist. To visualize this, imagine the area above the greyed out tiles is directly connected to the area below. It is useful to have this option enabled.

=Emulation=
   -Launch: starts your emulator (and lauches the game if you selected this option in the File Settings)
   -Debug Screen: modifies your ROM image so that a beta screen is shown after the prayer sequence, before the game starts. See further for details on this.

=Stage=
   Another way of navigating through the game.

=Help=
   -Readme: summons Readme
   -About: displays version information
   -Splash screen: splashes the screen. Click to wipe off


=======================
 4. Background Editing
=======================

When BG mode is selected, eight tilesets are displayed on the sidebar, along with a vertical scrollbar.

Tileset left-click: change current selection
Tileset right-click: bring up the Tileset Editing window

To see all the tilesets available in the current section, use the vertical scrollbar or press +/- on the numeric keypad. Some tilesets will look like garbage. This is normal. The tilesets available are used throughout the stage, but unlike CV1, different sections load different graphics in the pattern tables. As you navigate through the sections, the tilesets are updated with the graphics currently used in that section. Example: the church windows in Stage 0 (Warakiya) are stored in different pattern tables than the rest.

Game screen left-click: replace tileset with current selection
Game screen left-click and drag: replace multiple tilesets with current selection
Game screen right-click: replace current selection with tileset under mouse pointer


4.1 A note on the Clock Tower stage
-----------------------------------

You will remember from playing the game that Trevor (or Ralph, in the Japanese version) goes through this stage in both directions, climbing up and down the tower. The level is identical in both directions, except in rooms where there are doors, or in which you come in through a door, because doors are always on the nearest side of the doorway, depending on the direction you arrive. So if you come from the opposite direction, the nearest side becomes the farthest side, and there is no door there anymore. To accomodate this, data for these sections of the 'downward' path can be found in the ROM and is editable. Now sections 0 through 8 of this stage are of the 'upward' path, from the bottom of the tower up to Grant's room, whereas 9 through C (four sections, as you'll reckon) are maps for the downward journey, with inverted doors. In any of these sections, a small button (tagged 'Mirror') appears on the sidebar. With this you can transfer the tilesets used in the corresponding 'upward' section to the current section. Only the graphics for the doors, then, will have to be appropriately put into place. For sections 9 through C of stage 1 (Clocktower), only background gfx and doors can be edited. All other data is automatically mirrored from the 'upward' path.


======================================================
 5. Power-Up and Enemy Editing in Horizontal Sections
======================================================

The interface varies depending on the orientation of the scrolling, because the data is stored differently. Horizontal, although much more frequent, tends to be more complicated, unfortunately.


5.1 Power-up editing
--------------------

This is where it's useful to have the program running and try out things as you read. It's all very simple, and once this is explained, Enemy editing will be learned also.

Space is limited. A power-up may be placed anywhere from the top to the bottom of the screen in a space 2 tilesets (8 tiles) wide. That's an area 2 tilesets wide and 8 tilesets high. In this 2x8 area, only one power-up may be placed. Each screen contains 4 such areas. Thus, if the room is 3 screens wide, you can place 12 power-ups in the room, each in its own 2x8 area.

Small heart is selected by default. To select a different power-up (e.g. axe), click on the appropriate icon in the sidebar. On the first screen of the game, you should see many candles and one small heart on the game screen.

The small heart is to indicate that there is already a power-up (contained in a candle, lantern or candlestand) in this spot, and that this power-up is a small heart. The candles, on the other hand, indicate an empty spot, where an axe contained in a candle can be placed. Left-clicking on one of the candles will fill the spot with that power-up: the candle will turn into an axe, and other candles (possible locations) belonging to this spot will disappear. Left-click on the axe: the axe becomes a candle again, and all other candles reappear. You've just deleted the power-up.

Now suppose you want to insert a small heart somewhere, but none of the possibilities displayed satisfy you. There may be other possibilites, as only 16 at a time are shown. At the bottom of the sidebar is an horizontal scrollbar. When 'Small heart' is selected, the numbers above the scrollbar should read "1/4". Move the scrollbar or press + on the numeric keypad and you will be shown 16 other possibilities. You can click any candle to insert a power-up in these new locations. Click other types of power-ups in the sidebar. If the numbers above the bottom scrollbar read "1/1", there are no other possible locations than the ones currently shown. If it reads "0/0", there are no possibilities at all (for the moment, see below), and no candles appear on the game screen at all.

It may happen that candles overlap, or are hidden by other candles, since there are 16 on the screen at the same time. But I found this option preferable: having to browse through each possibility one at a time is very tedious. In case of overlap, the candle currently under the mouse pointer is brought to the forefront.

Don't want to insert candles, but candlestands or lanterns? Click on the appropriate icons, and you will be shown possible locations for these too. Most likely there will be less possibilities. Why? Because there are less lanterns and candlestands in the game as it is, of course. But you can change that also. You can change everything, if you're not satisfied with the present possibilities. People who don't care about this can skip the next few paragraphs.


5.2 Advanced editing
--------------------

There are in fact a little less than 255 of these 'possible' locations, each of them assigned a byte value. Each power-up byte value determines a location (Left and Top), Type (Candles, Lantern, Candlestand) and Content (Axe, Boomerang, etc.). When you scan through the possibilities, reVamp only shows you values that correspond to the Type and Content you selected (e.g. axe in a candle). The 10,000$ bag, not found in the original game, is not associated to any byte value. Thus, when you click on the 10,000$ icon, no proposal is made.

To view all byte values and what they're associated to, right-click on any one of the power-up icons in the sidebar. A window will show up, listing all values. Add any item you want by specifying Type, Left, Top and Content for a specific byte value. When you return to the main window, you will be able to add your 'customized' power-up. Be warned, though, that if you change byte value 2C, all power-ups using 2C in the game will be modified according to the location, Content and Type you specified for 2C. You can see what value a power-up uses by moving the mouse over the power-up icons on the game screen (it's shown in the topmost info box of the sidebar, e.g. |Lantern |2D|). Furthermore, right-clicking on a power-up (or potential power-up) on the game screen will bring up the Byte Values window and take you directly to the corresponding byte value.

Left and Top values may be hard to estimate. Just move the mouse over the screen and note the coordinates indicated in the appropriate info box (e.g. |[x,y]  |40|88|), where Left=40 and Top=88. Advanced power-up editing of this sort need not be systematic and is only provided for completeness' sake.

Recognized byte values:
US version - 01 through FD
Japanese version - 01 through F4


5.3 Enemy Editing
-----------------

The process is basically the same. On the game screen, red 'bone' icons indicate possible locations, and blue bone icons with a number indicate than an enemy is present. The number is the enemy type. Hold the mouse over these blue icons for a second and a pop-up description will appear. To delete an enemy, left-click on the blue icon. To insert an enemy, left-click on a red icon.

To see every possible location for an enemy you want to insert, click its name in the list. All enemies are listed in the sidebar. Most of them are enemies per se, but there are exceptions. The list looks like this:

[s2/s3:08/17] Crow (flying low)
[s2/s3:08/17] Crow (flying high)
[s2:08] Ghost (no flicker)
...
[s2:0A] Hunchback
[s2:0A] Pillar of Bones (2-shot)
etc.

The numbers in square brackets look confusing but are actually very useful. Info for the 'Hunchback' can be interpreted as follows: the Hunchback's graphics are found in 0A (pattern table number), and 0A must be loaded into Sprites 2 (pattern table slot). In the Sprite pattern table, there are of course 4x64 tiles devoted to sprite graphics, but only the last 128 (2x64) are for enemies. I called those 'Sprites 2' and 'Sprites 3'. If you click on the button with the Grim Reaper's face below the enemy list, a window will pop up allowing you to specify what graphics should be loaded into the sprites pattern table. If you wish to use a Hunchback (or any other enemy with the prefix [s2:0A]), specify 0A for Sprites 2 in the new window (otherwise the enemy cannot be displayed correctly). The Crow is a bit peculiar: it will work with either 08 or 17 (because the graphics are found twice in the ROM) loaded into Sprites 2 or 3 (because it wants to). There may be other 'flexible' cases like these but I have not tested them all.

Some entries have [1] and [2] tags at the *end*. These are duplicates. They serve no purpose that I can think of, except to waste space. Or I may have missed a difference in the behaviour of the two; to me they seem identical.

So... to sum up, when you have decided which sprite graphics you will use for a section, you can use any enemy with the correct prefix. For some info on the elusive 'Sprites 4', consult the section devoted to pattern tables.

Enemies noted with the plural (e.g. BatS, Medusa HeadS, MudmEn) are recurrent: you need only place one icon somewhere and the enemy will come back as long as *that portion* of the screen is visible. Location is not important for Flying Bats, Medusa Heads, Winged Demons, etc. The same is true with 'ubiquitous' bosses such as the Water Dragons. Putting a boss in the middle of a stage will cause that stage to end after the battle. Some bosses will not work in some sections. No Grant Boss at the Clock Tower (where a partner spirit encounter is planned) will cause a crash. A Skull Knight is a Skull Knight in stage 1, but a Skull Knight King in stages 2 to E (I think). Sprite graphics for bosses are loaded automatically. You don't need to worry about them, except for coffins with Double Trouble and Triple Threat bosses (those graphics go into the BG Pattern Table), and Dracula's third form. Experiment with the enemies to learn more of their behaviour (or lack of it).

Back to our red and blue icons. Sometimes you will see a small '2' in the lower right-hand corner. This means the enemy will appear during the second quest only. This is determined by the byte value. If the value is D0 or greater, the enemy is second quest only. As with power-ups, enemy attributes (Enemy type, Left, Top) for any value can be changed by right-clicking either on the list, or on the red and blue icons (in which case you are taken directly to the corresponding value).

Some enemies, which do not move, can face two different ways, most notably the Pillar of Bones and the Bone Dragon. The way they face seems to be determined by the byte value, in a random fashion. I have not investigated into the matter. If you find any logic to this, feel free to drop me a line. This data is *not* stored with the byte value attributes.

Recognized byte values:
US version - 01 through E3
Japanese version - 01 through DF


====================================================
 6. Power-Up and Enemy Editing in Vertical Sections
====================================================

Simpler, but much more limited, in a way. For vertical sections (e.g. the belfry in Stage 0), you have a predetermined number of power-ups/enemies to work with: the ones that are already present. First click on any of the icons on the game screen to select the object (drag and drop to change its location). Then, use the sidebar icons to determine what will become of this object (e.g. click the lantern and the boomerang, or click the bone and click an enemy in the list). Again, for enemies, correct graphics need to be loaded in the correct area of the sprite pattern table. For the Pillar of Bones, the 'Reverse Sprite' checkbox appears: you can have the enemy facing in the opposite direction, if you wish.

For 'walking' enemies, the vertical position can be iffy. You may have to place it a little above of below the ledge to have the enemy actually walking *on* it. This is not an issue with the program, but with the game itself, or so it seems. Also, the power-ups and enemies need to be sorted before being written to the ROM, otherwise they will not display correctly. This is done automatically, you don't have to worry about it, but I did encounter a case where objects appeared too late (way after I had scrolled to that portion of screen), which is their behaviour if they are not correctly sorted. They were, but somehow the game did not like having an enemy and a candle at the same Y position in that spot. I moved one of them elsewhere and everything returned to normal...

As with any drag and drop operation in reVamp, you can drag an icon over the active scrollbar (in this case, the vertical scrollbar): the scrollbar will disappear and the icon will turn into a number. As you move up and down the now invisible scrollbar, the number changes: release the mouse button to send the object to the screen the number indicates. This is a fast way to move objects across longer distances.

As it stands in version 1.0, reVamp can't change the number of objects in a given section. You can't add objects, can't remove them, can't transfer them to another section. Adding objects will never be possible: there is no more space in there to allow it. The rest may be implemented in a future version, if this one gains popular support (which it hasn't!).


==========================
 7. Miscellaneous Editing
==========================

All that is described here can be edited while MISC mode is selected.

7.1 Stairs
----------

At the top and bottom of every staircase, you must place stair markers. The markers indicate that a stairway is accesible when you stand on a certain ledge. They go on the first and last step of each staircase and must be oriented correctly (the white arrow indicates orientation). To move a marker, use drag and drop. To change the orientation of a marker, right-click on it until the arrow faces the correct direction. Stairs that go beyond the limits of the room only need one marker (as there is no ledge at the end going beyond the screen). To send a stair marker to another screen, drag it over the active scrollbar at the edge of the game screen and drop it there (as seen in section 6).

For the moment, there is now way to add, remove or transfer stair markers to other sections. This may be improved upon in future versions, if anyone uses the utility!


7.2 Starting Point and Doors
----------------------------

Drag Trevor, drop Trevor. This is useful at the beginning of blocks (where you start when you lose a life); in other sections, it may serve if you use the debug screen. In vertical sections, you cannot drag Trevor outside the screen in which you first find him. In horizontal sections, you can put him where you want, and again, you can drop him over the horizontal scrollbar to send him away to another screen in the room. Note that in section 8 of the first Clock Tower, the starting point is that of the 'downward' route. Because section 8 is at the beginning of the downward path, it is important to place Trevor correctly.

In this game, where there's a door, there are actually two. In places where only one door appears in the game, the two are placed on top of each other. You can drag a door vertically (drop it higher, or lower), but not horizontally. If the two doors are not superposed, the room will have two exits. You can't add doors where there are none, and you can't remove doors.


7.3 Miscellaneous objects
-------------------------

These include...

Editable with drag & drop:

- Breakable blocks
- Sliding platforms
- Moving spikes
- Crushers

Editable with 'location' scrollbar:

- Trap doors
- Scrolling ledges
- Pendulums
- Gears
- Tilting ledges
- Acid drops
- Falling blocks
- Crumbling bridges

Objects with a location scrollbar cannot be fully customized. You are limited to a number of presets that can't be changed. Other objects work just like any drag and drop objects (described above).

When you click one of the objects on the game screen, the sidebar presents all sorts of possible customizations. These are fairly clearly identified and need not be explained here (for a short description of each scrollbar, see section 2, MISC mode).

As you click on an object, its name appears in the dropdown list of the sidebar. To change this object into another, select another item in the list. You can't add a crumbling bridge, since it won't work. Crumbling bridges (there are two in the game) can only have their Top position edited, and they can be removed, but that's it.

In vertical sections, some objects are not available, because they don't work with this kind of scrolling. Pendulums are allowed, but their behaviour can be strange if they are not used at the very top of the section. This restriction does not apply in horizontal sections.

Limitation for crushers: if you put three or more crushers on the *same screen*, don't use three (or more) with the same value on the Range scrollbar, otherwise the screen will become unstable.

Limitation for breakable blocks: you can't use more than four per section (I think). Moreover, you can't have more than two per screen. If you break one of these rules, one or more of your blocks will not break.

Limitation for sliding platforms: if you enter a room in the middle, platforms there may not be visible and will appear out of nowhere when you scroll a bit. If however you enter on screen 0, your platforms will be where they should when you arrive to, say, screen 1.

Experiment with the US version using the Debug Screen.

Some objects in the list (e.g. Pendulums) need their graphics in the Sprite pattern table in order to be displayed properly. The notation is the same I used for the enemy list (see section 5.2). If you want to use a pendulum, the correct sprites must be loaded into the Sprite pattern table. Crusher graphics, however, are stored in the BG pattern table. Objects without the notation in square brackets will always be displayed correctly. However, there are palette issues with acid drops and falling blocks. Try them out.


================
 8. TSA Editing
================

In BG mode, right-click on any tileset of the sidebar to edit it.

In the new window, the tileset currently edited is displayed, magnified by a ratio of 2. Clicking on on it selects one of the 16 tiles to edit. As you hover over the pattern table (displayed at the right), the tile currently being edited turns into the one under the cursor. Click on a tile in the pattern table to validate your choice. A cursor appears on the tileset, moving to the next tile. Choose another tile in the pattern table and click again. Repeat the process sixteen times and you'll have a new tileset.

When you press Revert, the tileset is restored to its previous state. When you press the Save button, changes are written directly to the ROM and cannot be reverted. If you have specified a backup ROM in the File Settings, you can click the Restore button to extract the tileset from the backup.

To change the palettes attributed to each quadrant of the tileset, click on the attribute quadrants. A left-click brings up the next palette, a right-click brings up the previous one.

A button allows you to edit BG palettes from the Tileset Editing window.


8.1 Tile editing
----------------

On the Tileset Editing window, right-click on any tile in the pattern table to edit it. This can be used as a quick tile editor, but for extensive pattern editing, Tile Layer Pro or Tile Molester (both by SnowBro) are much more efficient. If you use another program to modify your ROM, don't forget to reload it afterwards in reVamp before continuing.


8.2 Shared tilesets
-------------------

Normally, tilesets are exclusive to each stage. There are some exceptions.

Sections 0 and 1 of the second to last stage (stage D) use tilesets from the Forest of Madness (stage 2). Sections 8 and 9 of stage D use tilesets from stage 5. Section 1 of the last stage (E) uses tilesets from the Clock Tower (stage 1). Thus, editing tilesets in any of these sections will also change the original tilesets of stage 1, 2 or 5.


8.3 A note on crumbling blocks
------------------------------

Crumbling blocks crumble. Oftentimes you know from the graphics that they are crumbling blocks: they look like they're about to crumble. Just insert the tileset with the crumbling blocks and the effect will work in the game. But sometimes, as with the last tilesets of the Clock Tower stage, they just look like normal blocks. If you edit those tilesets, you will see that different graphics, which look just the same, are used to make crumbling blocks. In the original game, crumbling blocks were not used in the first Clock Tower, but section 1 of the last stage uses them (see note 8.2).

The crumbling property, or the simple foothold property (the fact that you can stand on a block) is determined through associations with certain tiles, understood by the game as solid. This cannot be changed at the moment, so if you use new graphics, you must put your blocks and crumbling blocks graphics in the same spot. This data is located around 44B-50F in the ROM.


====================
 9. Palette Editing
====================

reVamp can edit background palettes and sprite palettes. To edit background palettes, click on the palette button at the bottom of the screen, or use the menu (Edit > Palettes). To edit sprite palettes, click on the purple palette button in the sidebar (visible when editing enemies, or in MISC mode), or use the menu (Edit > Sprite Palettes).

You edit palette sets, not only individual palettes. Clicking on a set in the list will show the palettes contained in it, which you can edit. To edit a palette, click a palette element, then click a color on the right.

For BG palettes, palette 0 is mirrored: it is the same for all sets. Color 0 is also mirrored: it is identical in all palettes, in every set. Default is 0F (quasi black).

For Sprite palettes, only one palette is contained in the sets: palette 2. Others (1, 3, Trevor, Grant, Sypha, Alucard) are mirrored: they are identical in every set.

Each section of the game has a BG palette set and a Sprite palette set assigned to it. Clicking on the list will not assign the set to the current section, but will allow you to edit the set. To assign a different set to the section you're currently editing, click 'Assign this set', this being the set you selected in the list.

If you click Revert, ALL sets will be restored to their original state. Clicking Save writes changes to EVERY set directly to the ROM. However, clicking Restore will only restore the current set from your backup, if you have one.

Actual colors are contained in a standard .pal file named reVamp.pal in the EXE directory. If you want to use another .pal file, name it accordingly and place it in that folder. The palette provided with the utility was made by FX3 of Dragon Eye Studios.


===================
 A. Pattern Tables
===================

Used to determine which graphics are loaded into the pattern tables in the current section of the game. This window is accessible from three locations: the menu (Edit > Pattern Tables), the leftmost button at the bottom of the main window, and a special button with-the-Grim-Reaper's-face-on-it, visible on the sidebar when editing enemies or in MISC mode. This special button simply loads the window in Sprite mode.

At the top of the new window, option buttons allow you to edit BG or Sprite pattern assignment. If you change the contents of the BG pattern table (and use graphics from another stage), your tilesets will turn into garbage, which is normal. However, if you want, say, the first part of the Warakiya stage to have the church graphics, you can accomplish this without effort: simply put the chapel graphics into BG 1.

Sprite pattern assignment is essential: with this functionality, you can use any enemy (or object, e.g. Pendulum) you want in any part of the game. For more info, see section 5.2.

If you're working with an overdumped ROM image (512 Kb), you can use the extra space to store graphics (values 80 to FF; if you use the correct dump, the scrollbars will stop at 7F).

Use the 4-Interleave and 8-Interleave checkboxes to view the graphics differently in the viewer. For BG graphics, no interleave works best; for sprite graphics, 4-Interleave is better.


A.1 'Sprites 4'
---------------

'Sprites 4' does not exist in the Japanese version. In the US version, it is used to store sprite graphics for enemies of the second quest (beefed-up knights, bouncing skulls, zombies with robes). Thus, in most sections, default value is 36 (which contains these graphics). In some stages, where other enemies were added (fuzz busters, bats, whose graphics were not available in Sprites 2 or 3), another value was used. But on a couple of boss screens, some graphics essential to the first quest are stored into Sprites 4. I do not know how the Japanese version managed this. Sprites 4 does not have its own viewer for browsing through graphics: it is a last minute addition, and not very important. I do not know much about it at present.


A.2 Recap
---------

BG 0: $40 throughout
BG 1: assigned for each room 
BG 2: assigned for each room 
BG 3: $43 throughout

Sprites 0: character sprites
Sprites 1: character sprites
Sprites 2: enemy sprites, assigned for each room
Sprites 3: enemy sprites, assigned for each room
Sprites 4: enemies, US version only


================================
 B. Patterns/Palettes Switching
================================

You may use different graphics and palettes for different sections. Yet, if two sections are separated by a door (at the end of a block), you can't make a switch there, or you have to be careful. When you touch a door, the screen scrolls forward 3 tilesets, the patterns/palettes switch occurs, and then the screen scrolls forward 3 more tilesets to bring you completely in the new room. So, when the switch occurs, three columns of tilesets are already visible in the next room. If you used different graphics, the next room will be garbage until the switch; if you used different palettes, all colors will suddenly change as you go through the door. This is a problem.

First solution: only change patterns and palettes when you access the next room through a stairway:  the screen goes blank, the switch occurs, and the new room appears. That's what the original game designers did in most cases. But in the original Warakiya stage, between sections 4 and 5, they switched patterns and palettes. However, in room 5, first screen, first three columns, they only used blue sky, black shadow, and a pillar... graphics which are common to both sections (BG 2 stores the same graphics throughout the stage), and tilesets which are not affected by the palette switch. The result is crude and rather ugly when you look closely, but that's the Castlevania style we came to know and love, after all. Perhaps not. Anyway, it is useful to know this when planning a new stage.


===================
 C. Curse Severity
===================

Used to determine the damage incured when hit by enemies. This is pretty straightforward. A full meter means no damage. A meter with four bars empty means an attack power of four bars for the enemies.

What must be said is that the US version is also different from the Japanese version in this respect. In the US version, damage is determined according to the stage you're playing. In J, there are three types of enemies: some weaker, some average, some stronger ones. (This made the US version a lot harder in late stages.)

I do not think bosses are affected by the Curse Severity settings. Their attack power is independant, not editable at the moment with this utility.


=================
 D. Debug Screen
=================

The CV3 debug, or beta screen, is a handy tool. If enabled, it shows up after the prayer screen in the game. Enabling the debug, running the game in an emulator, and making a quick save of the beta screen is a fast way to test your hack.

The four settings of the beta screen are as follows:
00 : stage
00 : block
00 : room
00 : partner spirit, where 0=Alone, 1=Sypha, 2=Grant, 3=Alucard

In reVamp, the 'Block' info box provides the values for stage, block and room to use with this debug feature. Thus, B:01.00 means stage 0B, block 01, room 00.


D.1 Differences in Akumajou Densetsu (Japanese version)
-------------------------------------------------------

A drawback: the debug feature is not currently supported for the Japanese version. All my efforts to find it have been in vain; it is not known if the beta screen exists in Akumajou Densetsu.

Which, incidentally, doesn't have "better graphics" as is commonly supposed (except for the cloud sweep effect in the Prologue, and some enemies - whether they look better is debatable). Stage 6 (Marshes) has more gfx in the US version (converted kanji space); Stage 7 (Caves) has different graphics. "Sex" and religion have been censored by American puritans. There are more available palette sets in the US version, and more of various other things, so the American port is not all bad.

The music, of course, is richer in the Japanese version, since the VCR6 chip has three sawtooth channels in addition to the two square wave channels of the NES sound chip. These additional voices of the VCR6 have been compressed, when possible, into one square wave channel for the US version (e.g. Mad Forest). Some say the Densetsu soundtrack contains "digitized instruments". There are none, except drums in the DPCM.


==========================
 E. Possible improvements
==========================

- More flexibility with staircase editing, vertical pu/e editing, object editing (such as the ability to transfer objects from other rooms).

- Prayer screen editing. I had this in mind, but the format (RLE) is awkward to work with for the purpose of this editor (US: in the vincinity of 13BCF-13DF9, palettes 1CA9).

- Text editing (not that useful) and title screen editing (US: around B5B0).

- Level map editing (room order). This could have been easily implemented if I had been able to figure out the level header format...

- Level order. Values were found but the 'Destiny' screen complicates things.

- Shorter Readme.



Thank you for reading.

mailto:daniel.lauzon@hotmail.com

